const Request = require('./request.js');

const API = {
  // 登录换取token
  login: '/web/passport/getLoginToken',
  // 退出登录
  logout: '/web/passport/logout',
  // 获取手机号码
  getWxPhoneNum: '/web/passport/getDecryptMobile',
  // 绑定手机号码
  bindMobile: '/web/passport/getBindMobile',
  // 获取首页信息
  getRouteHomepageData: '/web/home/indexData',
  // 获取个人信息
  getPersonalInfo: '/web/member/getInfo',
  // 获取关于我们
  getAboutUs: '/web/getAboutUs',
  // 获取客服联系电话
  getCustomerMobileList: '/web/getCustomerServiceTel',

  // 根据经纬度获取地址信息
  getAddressByLongitudeAndLatitude: '/web/home/getAddress',

  // 获取客服中心数据
  getCustomerServiceData: '/web/articleType/getShowData',
  // 获取客服中心文章详情
  getCustomerServiceArticleDetails: '/web/article/getShowData',


  // 获取巴士路线(原企业定制)首页数据
  getDailyRouteIndexData: '/web/enterpriseLine/indexData',
  // 搜索巴士路线(原企业定制)路线
  getDailyRouteSearchResult: '/web/enterpriseLine/searchData',
  // 获取巴士路线(原企业定制)详细信息
  getDailyRouteDetails: '/web/enterpriseLine/orderData',
  // 提交巴士路线(原企业定制)订单(立即购买)
  sumbitDailyRouteOrder: '/web/enterpriseLine/submitOrder',
  // 获取巴士路线(原企业定制)热门路线列表
  getHotRouteList: '/web/enterpriseLine/getHotList',

  // 获取机场接送机场信息
  getAirportRouteData: '/web/airportLine/orderData',
  // 选择路线信息后获取车型及价格
  getAirportRouteCarAndPrice: '/web/airportLine/orderSure',
  // 机场接送立即预定
  submitAirportRouteOrder: '/web/airportLine/submitOrder',

  // 获取专车接送机场信息
  getSpecialRouteData: '/web/carLine/orderData',
  // 选择路线信息后获取车型及价格
  getSpecialRouteCarAndPrice: '/web/carLine/orderSure',
  // 专车接送立即预定
  submitSpecialRouteOrder: '/web/carLine/submitOrder',

  // 包车路线(原专车固定路线)热门路线
  getHotFixedRouteLine: '/web/vehicleLine/getHotList',
  // 获取包车路线(原专车固定路线)首页数据
  getFixedRouteIndexData: '/web/vehicleLine/indexData',
  // 搜索包车路线(原专车固定路线)
  getFixedRouteSearchResult: '/web/vehicleLine/searchData',
  // 获取包车路线(原专车固定路线)详细信息
  getFixedRouteDetails: '/web/vehicleLine/orderData',
  // 提交包车路线(原专车固定路线)订单(立即购买)
  sumbitFixedRouteOrder: '/web/vehicleLine/submitOrder',
  // 获取包车路线(原专车固定路线)目的地线路
  getFixedRouteEndLine: '/web/vehicleLine/getDestinationByLine',


  // 获取联系人列表
  getLiaisonList: '/web/attach/contactList',
  // 添加联系人
  addLiaison: '/web/attach/addContact',
  // 更新联系人
  updateLiaison: '/web/attach/updateContact',
  // 删除联系人
  deleteLiaison: '/web/attach/delContact',


  // 获取订单可使用优惠卷列表
  getCouponList: '/web/coupon/orderCouponList',
  // 获取用户未使用的优惠卷列表
  getUnUseCouponList: '/web/coupon/userUsable',
  // 获取用户已使用的优惠券列表
  getUsedCouponList: '/web/coupon/userUse',
  // 获取用户已过期的优惠券列表
  getExpireCouponList: '/web/coupon/userExpire',
  // 获取注册优惠券信息
  getRegisterCouponInfo: '/web/coupon/getShareCoupon',
  // 领取优惠券
  receiveCoupon: '/web/coupon/userReceiveShareCoupon',


  // 获取订单类型列表
  getOrderTypeList: '/web/attach/lineInfo',
  // 获取订单列表
  getOrderList: '/web/order/getPageList',
  // 获取订单详情
  getOrderDetails: '/web/order/orderDetail',
  // 判断订单是否支付成功
  checkOrderPayStatus: '/web/order/judgeOrder',
  // 重新支付订单
  payForOrder: '/web/order/orderPay',
  // 取消订单
  cancelOrder: '/web/order/cancelOrder',
  // 申请退款
  applyRefund: '/web/order/toApplyRefund',

  // 获取取消订单原因列表
  getCancelOrderReason: '/web/attach/getReason',
  // 获取退改规则
  getCancelRule: '/web/attach/getRuleContent',
  

  // 订单开发票
  submintInvoice: '/web/invoice/create',
  // 可开发票订单
  getOrderCanApplyInvoice: '/web/invoice/pageList',
  // 已开发票订单
  getOrderHadApplyInvoice: '/web/invoice/pageHistoryList',
  // 发票详情
  getInvoiceDetails: '/web/invoice/detailsById',

  // 司机首页信息
  getDriverCenterInfo: '/web/member/getDriverIndex',
  // 司机个人信息
  getDriverPersonalInfo: '/web/member/getDriverInfo',
  // 更新司机信息
  updateDriverInfo: '/web/member/updateDriverInfo',
  // 更新司机状态
  updataDriverStatus: '/web/member/updateDriverStatus',
  // 司机钱包页面数据
  getDriverWallet: '/web/member/getDriverWallet',
  // 司机提现
  driverWithdraw: '/web/member/toDriverWithdraw',
  // 获取司机未接订单
  getDriverNoReceiveOrder: '/web/member/getDriverNoReceiveOrder',
  // 获取司机已接订单
  getDriverReceivedOrder: '/web/member/getDriverReceivedOrder',
  // 获取司机已完成订单
  getDriverCompleteOrder: '/web/member/getDriverCompleteOrder',
  // 司机接受订单
  driverAcceptOrder: '/web/member/toDriverAcceptOrder',
  // 司机拒绝接单
  driverRefuseOrder: '/web/member/toDriverRefuseOrder',
  // 司机完成订单
  driverFinishOrder: '/web/member/toDriverFinishOrder',
  // 司机订单详情
  getDriverOrderDetails: '/web/member/getDriverOrderDetail',
  
  // 核销员首页信息
  getVerifierCenterInfo: '/web/member/getVerifierIndex',
  // 核销员个人信息
  getVerifierPersonalInfo: '/web/member/getVerifierInfo',
  // 更新核销员信息
  updateVerifierInfo: '/web/member/updateVerifierInfo',
  // 更新核销员状态
  updataVerifierStatus: '/web/member/updateVerifierStatus',
  // 核销路线列表
  getVerifierClassesList: '/web/member/getVerifierClassesList',
  // 核销路线详情
  getVerifierLineDetails: '/web/member/getClassesInfo',
  // 订单核销
  driverCheckQRCode: '/web/order/doWriteOff',

  // 租车
  // 获取网点列表
  getRentCarBranchList: '/web/outlets/searchRes',
  // 获取最近选择网点
  getLastChooseRentCarBranchList: '/web/outlets/getSearchData',
  // 获取网点详情
  getRentCarBranchInfo: '/web/outlets/getInfo',
  // 获取价格日历
  getRentCarPriceCalendar: '/web/outlets/getPriceCalendar',
  // 获取预览订单信息
  getRentCarPreviewOrderInfo: '/web/outlets/prepareOrder',
  // 提交订单
  submitRentCarOrder: '/web/outlets/submitOrder',
  // 获取协议内容
  getAgreementDetail: '/web/outlets/getAgreement',
  // 租车核销
  rentCarCheckQRCode: '/web/outlets/outletsVerification',

  // 添加小程序formId
  addWxappFormId: '/web/attach/addFormId',
  // 获取小程序分享配置
  getShareConfig: '/web/share/getshareInfo',
  // 获取小程序配置接口
  getWxAppConfig: '/web/home/getData',
  // 获取调试设置
  getWxAppDebugConfig: '/web/getDebugSetting',
  // 更新调试设置
  updateWxAppDebugConfig: '/web/updateDebugSetting'
};

// 获取链接
function getConnect(api, data={}) {
  const app = getApp();
  data['token'] = wx.getStorageSync('token');
  data['mallId'] = getApp().globalData.config.saasId;
  var req = Request.createRequest({
    url: app.url+api,
    data: data,
    method: 'POST'
  });
  return req();
}

// 上传图片
function uploadImage(img) {
  var req = Request.createUpload({
    url: getApp().url,
    filePath: img,
    name: 'file',
    method: 'POST'
  });
  return req();
}

module.exports = {
  api: API,
  getConnect: getConnect,
  uploadImage: uploadImage
}